package fr.ralmn.OgameDroid.Object;

/**
 * 
 * @author ralmn
 * @see Central
 */
public class Fusion extends Central {

	/**
	 * 
	 * @param n
	 *            Nom de la central
	 * @param d
	 *            Description
	 * @param m_lvl
	 *            Nombre de niveaux max
	 * @param t
	 *            Type de la central
	 * @see CentralType
	 */
	public Fusion(String n, String d, CentralType t, int i) {
		super(n, d, t, i);
	}

	/**
	 * @param lvl
	 *            Niveau de la central
	 * @deprecated Utiliser le
	 *             {@code getProduction(lvl_central, lvl_technologie_energie)}
	 * 
	 * 
	 */
	@Override
	public int getProduction(int lvl) {
		return getProduction(lvl, 3);
	}

	/**
	 * 
	 * @param lvl
	 *            niveau de la central
	 * @param lvl_tech_en
	 *            niveau de la technologie Energie
	 * @return production d'energie
	 */
	public int getProduction(int lvl, int lvl_tech_en) {
		return (int) (30 * lvl * Math.pow((1.05 + (lvl_tech_en / 100)), lvl));
	}

	/**
	 * @param lvl
	 *            niveau de la central
	 * @return coup de Deterium pour contruction
	 */
	@Override
	public int getCoastDeterium(int lvl) {
		return (int) (180 * Math.pow(1.8, lvl - 1));
	}

	/**
	 * @param lvl
	 *            niveau de la central
	 * @return coup de Metal pour contruction
	 */
	@Override
	public int getCoastMetal(int lvl) {
		return (int) (900 * Math.pow(1.8, lvl - 1));
	}

	/**
	 * @param lvl
	 *            niveau de la central
	 * @return coup de Cristal pour contruction
	 */
	@Override
	public int getCoastCristal(int lvl) {
		return (int) (180 * Math.pow(1.8, lvl - 1));
	}

}
